$Tarjan+toposort$的经典套路题吧,$Tarjan+toposort$应该一眼就能看出来,但是发现对于第$1$,$2$种边连边显然会超时,这里用了一种比较无脑简单的方法(像我这种小蒟蒻都能想出来肯定简单啊),这里以第$1$种为例(第二种类比一下就可以了)
若有多个第一种门在某一行,那么这些门都是可以互相到达的,但是我们两两之间连$n^2$的边显然很愚蠢,只需要连成一个环即可(第$1$个连第$2$个,第$2$个连第$3$个,最后一个连第$1$个),在这个环上的其他所有点,只需从环上任意一点连出去即可(像对于网络流时经常用的建一个虚点连接两边优化$n^2$连边的方法应该也可以)
1 |
|